package com.lxx.utils;

import java.security.MessageDigest;

public class Md5Utils {
	private static final String HEX_DIGITS[] = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};
	

	public static final String encode(String str) {
		String resultString = null;
        try{
            resultString = new String(str);
            MessageDigest md = MessageDigest.getInstance("MD5");
                resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
            return resultString;
        }catch (Exception e){
        	throw new RuntimeException(e);
        }
	}
	
	public static String byteArrayToHexString(byte b[]){
        StringBuffer resultSb = new StringBuffer();
        for(int i = 0; i < b.length; i++){
            resultSb.append(byteToHexString(b[i]));
        }
        return resultSb.toString();
    }
	
    public static String byteToHexString(byte b){
        int n = b;
        if(n < 0){
            n += 256;
        }
        int d1 = n / 16;
        int d2 = n % 16;
        return HEX_DIGITS[d1] + HEX_DIGITS[d2];
    }
    
    public static void main(String[] args) {
		System.out.println(encode("123456"));
	}
}
